<?xml version="1.0" encoding="UTF-8"?>
<doc>
<title>Math.RandomGenerator 类</title>

<para>
<ptitle>Math.RandomGenerator 类</ptitle>
　Math.RandomGenerator 是通过 <at href="http://www.math.keio.ac.jp/~matumoto/emt.html" target="_blank">Mersenne Twister 法</at> 来生成随机数的类。<r/><r/>
　构造函数的格式如下。
<bq>
new Math.RandomGenerator([&lt;随机数种子&gt;]);<r/>
</bq>
<r/>
　在构造函数中指定一个数值，则用这个数值来对随机数生成器进行初始化。<r/>
　在构造函数中指定由 serialize 方法保存的包含随机数生成器状态的字典对象的话，就可以用那个状态创建随机数生成器。<r/>
　如果省略构造函数，则使用基于当前时间的随机数来初始化随机数发生器 (在吉里吉里2中不是基于当前时间，而是以基于环境噪音的随机数来初始化的。<r/>
</para>

<para>
<ptitle>randomize</ptitle>
　randomize 方法用于对随机数生成器进行初始化。参数和构造函数的参数相同。<r/>
</para>

<para>
<ptitle>random</ptitle>
　random 方法返回大于0小于1.0的实数的随机值。<r/>
</para>

<para>
<ptitle>random32</ptitle>
　random32 方法返回0以上4,294,967,295以下 (0xffffffff 以下) 的整数的随机值。<r/>
</para>

<para>
<ptitle>random63</ptitle>
　random63 方法返回0以上9,223,372,036,854,775,807以下(0x7fffffffffffffff 以下) 的整数的随机值。<r/>
</para>


<para>
<ptitle>random64</ptitle>
　random64 方法返回-9,223,372,036,854,775,808以上9,223,372,036,854,775,807以下的整数的随机值。<r/>
</para>

<para>
<ptitle>serialize</ptitle>
　serialize 方法返回记录着当前随机数生成器的状态的字典对象。将这个字典对象传入构造函数或 randomize 方法，就可以再现当前的状态。<r/>
</para>

<para>
<ptitle>Copyright notice</ptitle>
　Mersenne Twister法的实现使用了对<r/>
<r/>
   A C-program for MT19937, with initialization improved 2002/2/10.
   Coded by Takuji Nishimura and Makoto Matsumoto.<r/>
<r/>
　在使用时作了一些改动。特此感谢两位作者提供了如此实用的程序源码。<r/>
<r/>
   Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,<r/>
   All rights reserved.<r/>
<r/>
   Redistribution and use in source and binary forms, with or without<r/>
   modification, are permitted provided that the following conditions<r/>
   are met:<r/>
<r/>
	 1. Redistributions of source code must retain the above copyright<r/>
		notice, this list of conditions and the following disclaimer.<r/>
<r/>
	 2. Redistributions in binary form must reproduce the above copyright<r/>
		notice, this list of conditions and the following disclaimer in the<r/>
		documentation and/or other materials provided with the distribution.<r/>
<r/>
	 3. The names of its contributors may not be used to endorse or promote <r/>
		products derived from this software without specific prior written <r/>
		permission.<r/>
<r/>
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS<r/>
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<r/>
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR<r/>
   A PARTICULAR PURPOSE ARE DISCLAIMED.	 IN NO EVENT SHALL THE COPYRIGHT OWNER OR<r/>
   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,<r/>
   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,<r/>
   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR<r/>
   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF<r/>
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING<r/>
   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS<r/>
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<r/>
<r/>
</para>


</doc>